Dartboard scoring system

ABSTRACT

A system for scoring darts that includes multiple cameras placed substantially parallel to the surface of a dartboard. With a field of view extending across the board, the cameras can be configured to capture images of darts projecting outwardly from the board as they are thrown, and the system can use this image data to calculate the location of each dart, and the corresponding score. Various algorithms may be used to orient the system and calibrate the system to account for irregularities in the images captured by the cameras to accurately determine the location. Proper scoring may be achieved for a variety of dartboards with different patterns of scoring regions based on game rules and corresponding board configurations maintained by the system.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.62/325,500 filed Mar. 15, 2013, which is hereby incorporated byreference in its entirety.

BACKGROUND

The disclosure generally relates to a system for automatically scoring agame of darts. The game can traditionally be played with a board and aset of darts, and without any system for automatically scoring thematch.

Some systems that can score a dart game have been proposed, but they aresometimes expensive, complex, or only partially automated. For example,some scoring systems only score the results and do not detect when orwhere a dart has landed. In these systems, users must input the locationof darts as they are thrown. Other scoring systems may detect wheredarts have landed and calculate a score, but may involve complex arraysof sensors embedded in the board. Such boards may be prohibitivelyexpensive and are sometimes inaccurate because of gaps in the coveragearea of the sensors.

Some systems may also require specialized darts compatible with thesensors making them incompatible with traditional dartboards designed touse steel-tipped darts that penetrate into the board. Players may thenneed to throw a non-standard kind of dart requiring adjustments to theirthrow or style of play that may be unwelcome. For example, bristledartboards that are compatible with some plastic-tipped darts may berequired for some automatic scoring dartboards.

Traditional steel-tipped darts are often preferred by players, butautomatically scoring them raises other challenges. Some systems attemptto score penetrating darts by using boards with exotic surfaces ormultiple layers that may include special sensory membranes. The membranemay indicate the presence and location of the dart tip when the membraneis penetrated. However, over time, the membrane can lose sensitivityafter it has been penetrated numerous times meaning it must be replaced,making the board less reusable than a standard board.

Some scoring systems rely on darts with specific devices or materials inthe tip of the dart that are configured to trigger a sensor array in theboard. Although these systems may provide increased accuracy andreusability, they generally require a board with the sensor arrayembedded into the board material. Standard steel-tipped darts generallydo not include such devices or materials in the head of the dart.Additionally, specialized darts are often configured to adhere to theboard surface rather than penetrating into it to avoid damaging thesensors. Thus systems for scoring steel-tipped darts often cannot takeadvantage of the increased accuracy and reusability provided by othertypes of boards.

Requiring special darts, exotic arrays of sensors, membranes, orspecially constructed boards also limits the opportunity for existingboard owners to upgrade their boards to include the benefits ofautomatic scoring systems. Restaurants, bars, recreational facilities,and private homes may thus be unable to retrofit their currentdartboards with an automatic scoring system. They may then be left tochoose between forgoing the benefits of automatic scoring, or acceptingthe additional cost and maintenance burden involved in purchasing andoperating a separate automatically scored dartboard that may beincompatible with their current board.

As a result, many scoring systems are unsatisfying to use, cannot befitted to an existing traditional dartboard, or are prohibitivelyexpensive to manufacture and sell.

SUMMARY

The disclosed dartboard scoring system uses cameras positioned aroundthe outside edge of a dartboard and may be used with any suitable dartssuch as traditional steel-tipped darts, plastic tipped, magnetic tipped,and others. The cameras are arranged to watch for and locate darts asthey land on the board, and to automatically calculate a score based onthe particular dart game being played. The system may, for example,accurately locate and score traditional steel-tipped darts used with astandard board with as few as two cameras. The cameras provide images ofthe darts to a game controller that can use the image data to calculatewhere the darts are on the board, and the resulting score based onpoints allotted to various regions of the board.

To detect the darts, the cameras can be positioned and configured withfields of view that are substantially parallel to the face of the board.In other words, the face of the board may not be visible to the cameras.In viewing the board from the side rather than the front, the board edgemay define one side of the cameras' viewing area, and thus the side ofthe board may be just outside of the camera's field of view. From thisperspective, the cameras can “see” darts projecting outwardly away fromthe surface of the board as they land.

Images acquired by the cameras are used by the game controller tocompute the dart's position on the board. Various image processingalgorithms may be used to make these calculations. For example, thesystem may detect a dart has been thrown by detecting differences in theframes or images captured by the cameras. The control logic may comparethe latest frame or image captured by the camera to the background, orto the previous frame. The control logic may be programmed to identifyshapes, colors, lines, or other elements of the image that are common toboth images, or appear only in the most recent image. The controller mayuse this information to determine where the new shapes are relative tothe board face, and calculate a score.

Calculating where the darts are on the board involves triangulating adart's location on the board using images acquired from the cameras. Asdiscussed above, the most recent image data can be used to find thecenter of the dart based on changes in the image data received by thecamera. The control logic may calculate an initial angle for the dartindicating the number of degrees left or right of the center of thecamera. Additional angles may be calculated and from them the distanceto the dart from each camera, and from a reference point such as the“bulls eye” in the center of the board. An angle indicating the radialposition of the dart relative to the reference point may be calculated(e.g. 90 degrees or about the “3 o'clock” position, or 270 degrees, orat about the “9 o'clock” position).

Positioning the cameras and calibrating the system may be an initialaction taken when the system is installed or manufactured. The camerasmay be configured to initially photograph the edge of the board whichmay include letters, numbers, bar codes, or other symbols indicating howthe board is oriented relative to each camera. Each camera mayautomatically detect where it is relative to the center and the edges ofthe board, as well as relative to any scoring regions specific to theparticular dart game being played. In other words, the scoring systemmay be configured to automatically calibrate itself when it isactivated.

A controller included with the system may be configured to manageoverall game play, initializing or calibrating the system, acceptinginput from a user, displaying output, calculating the location of darts,and the resulting scores. Buttons, displays, or other controls may beincluded and configured to allow users to perform various game relatedfunctions such as overriding scoring decisions, indicating when a dartmissed the board altogether, starting a new game, or loading differenttypes of games each with different rules. Different games may applyscoring regions to the game which vary from what may be commonly used indart games. For example the board may be free of built in scoringregions allowing alternate board configurations to be projected onto theboard from a projector controlled by the system.

The controller may also be configured to accept input from a userdirectly, or to interact with a remote control or a computer such as atablet, laptop computer, smart phone, or desktop computer to control theflow of the game. The computer may also be configured to communicatewith other dartboard systems for example other scoring systems or atournament server thus allowing players to compete against each otherwhen they are not in the same room throwing darts at the same board.

Further forms, objects, features, aspects, benefits, advantages, andembodiments of the present invention will become apparent from adetailed description and drawings provided herewith.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating one example of the components of thedisclosed scoring system.

FIG. 2 is a diagram illustrating one arrangement of cameras in a scoringsystem like the scoring system of FIG. 1.

FIGS. 3A and 3B are diagrams illustrating views of the board with anindexing system as seen by cameras in a scoring system like the scoringsystem of FIG. 1.

FIGS. 3C-3E are diagrams illustrating examples of different indexingsystems that might be used in a scoring system like the system of FIG.1.

FIG. 4A is a diagram illustrating calculations that may be made in ascoring system like the scoring system of FIG. 1.

FIG. 4B is a diagram illustrating a lighting system for a scoring systemlike the system of FIG. 4A.

FIG. 4C is a diagram illustrating another example of a lighting systemfor a scoring system like the system of FIG. 4A.

FIG. 4D is a diagram illustrating calculations that may be used forlocating a dart in a scoring system like the system of FIG. 4A.

FIG. 5 is a second diagram illustrating additional calculations that maybe made in a scoring system like the scoring system of FIG. 1.

FIG. 6 is a block diagram illustrating one example of system componentsthat may be used in a scoring system like the scoring system of FIG. 1.

FIG. 7 is a flow diagram illustrating one example of the actions takenby a scoring system like the scoring system of FIG. 1.

FIG. 8 is a flow diagram illustrating other actions that may be taken bya scoring system like the scoring system of FIG. 7 when the system isactivated.

FIG. 9 is a flow diagram illustrating other actions that may be taken bya scoring system like the scoring system of FIG. 7 when detecting that adart has been thrown.

FIG. 10 is a flow diagram illustrating other actions that may be takenby a scoring system like the scoring system of FIG. 7 when locating adart.

DETAILED DESCRIPTION

With respect to the organization and description of figures, thereference numerals in the detailed description are organized to aid thereader in quickly identifying the drawings where various components arefirst shown. In particular, the drawing in which an element firstappears is typically indicated by the left-most digit(s) in thecorresponding reference number. For example, an element identified by a“100” series reference numeral will first appear in FIG. 1, an elementidentified by a “200” series reference numeral will first appear in FIG.2, and so on.

Beginning with FIG. 1, one example of a dartboard scoring system isshown at 100. In this example, a dartboard 108 may be positioned in ormounted to a support structure such as an enclosure 106, examples ofwhich include a cabinet or case. Cameras 102A and 102B may be mountedon, or adjacent to, dartboard 108. In this example, a pair of cameras102A and 102B are positioned to define a viewing area that includesdarts 110A and 110B extending outwardly from the plane or face of board108. Positioned substantially parallel to the surface of the board, eachcamera's field of view may include little if any of the scoring surfaceor “face” of the dartboard itself. From this perspective, cameras 102Aand 102B may be configured to “see” objects projecting from the boardwithout directly viewing scoring regions defined on the surface thereof.Points scored by darts 110 may be calculated by controller 104 bycalculating the relative position of darts 110 based on informationreceived from cameras 102 via communications links 116A and 116B. Theseconnections 116 may include physical wires, or may be wireless links.

A sensor 126 may be included, and may be mounted behind or adjacent toboard 108 to aid in detecting when a dart is thrown. The sensor maydetect a dart throw by any suitable means such as by detectingvibrations or sounds caused by darts 110 impacting board 108 whenthrown. The controller 104 may be responsive to the resulting signalsfrom sensor 126 which may be relayed to controller 104 via acommunication link 128. Like communications links 116, links 128 may usewired, wireless, or may use any other suitable communicationstechnology. Detection may be performed using controller 104 to comparesignals from sensor 126 with other feedback such as visual informationobtained from cameras 102.

Game play may be managed by a controller 104 which may be configured toreceive input from players via input devices 118. Results of the gamemay appear on a display 120. In another example, the controller mayinteract with a computer 112 in communication with controller 104 via awired or wireless communications link 114. Controller 104 may acceptcommands from computer 112 which may include software configured togenerate a Graphical User Interface (GUI) displayed on a display device122. The GUI may include graphical controls for managing the flow of agame or performing maintenance functions. For example, the GUI may beconfigured with controls for starting a new game, manually overridingthe scoring as the game progresses, upgrading software in controller104, or for providing controller 104 with the ability to communicatewith other dartboard scoring systems in locations remote from system 100using a wired or wireless connection to a computer network 124.

Scoring a dart game using a system according to the present disclosureinvolves orienting the board so as to allow the cameras to captureimages of the darts as they land, and so as to allow control logic inthe controller to accurately calculate the location of the darts anddetermine a score based on the arrangement of scoring regions on theboard.

For example, as illustrated at 200 in FIG. 2, board 108 is arranged withcameras 102A and 102B similar to the arrangement appearing in FIG. 1.Board 108 is divided into scoring regions such as regions 204A-204F, andeach separate region may be assigned a separate point value. When thesystem detects a dart such as darts 110A or 110B, it can calculate theposition of the dart on board 108, and assigns the proper point valuebased on which region 204 the dart 110 is calculated to be in.

As an initial matter, cameras 102A and 102B are arranged withcorresponding fields of view 212A and 212B which allow them to captureimages of darts landing on board 108, and may include coverage forregions outside scoring regions 204. Fields of view 212 may also includeareas off of board 108 which may assist in detecting darts that havemissed board 108 altogether. Any suitable camera 102 that has a field ofview 212 sufficient to capture images of darts landing on board 108 maybe used. Cameras with narrow or wider fields of view may be more or lessdesirable depending on the number of cameras 102 and their arrangementsubstantially parallel to the face of the board. An individual camera'sviewing area is defined by the arrangement of internal optical elementslenses, sensors, and the like in each camera.

Thus the orientation and position of regions 204 relative to cameras 102allows the system to detect and score darts 110 as they land. Regions204 may be arranged on board 108 in any configuration suitable to thegame being played. As illustrated at 200, board 108 may be configuredwith scoring regions 204 which are defined by boundaries extendingradially from a reference point 206, which in this case may be in thescoring region 204E sometimes referred to as the “bull's-eye”. Inanother example, region 204F is defined by boundary lines extendingannularly around reference point 206. In yet another example, theregions may be defined as a grid pattern, or by various sized or shapedpolygons such as squares, hexagons, circles, rectangles, irregularlyshaped polygons, and the like. The regions may be more irregularlyshaped objects such as animals or ships with varying target zones andmay be printed and/or projected onto the board. The region sizes orscoring values associated with them may also change programmaticallydepending on a present skill level. For example the system may be setinto an “expert” mode so that when the game is initialized, certainregions or scoring zones within a region may actually be less than 50%,less than 25%, or less than 5% of the area actually printed on the boardthus requiring additional accuracy when throwing the darts. Where theboard scoring regions are projected onto the board, setting an “expert”or other mode may decrease the area of each scoring region projectedonto the board accordingly, or the size of a scoring region mightincrease if the difficulty level is reduced such as in a “novice” mode.

The regions may be defined by material such as metal banding thatextends outwardly from the surface of board 108. In other cases, theregions may be defined by lines printed on the surface of board 108. Inyet another example, regions 204 may be defined by an image projectedonto board 108 such as by a projector. The image may change over timesuch as by rotating, moving around the board, or by changing thearrangement of scoring regions while the game is in progress. Board 108may be any suitable shape such as a circle, square, irregular polygon,and the like. In any case, the disclosed system is aware of theboundaries defined by the separate scoring regions 204.

The system may be made aware of the arrangement of scoring regions 204by any suitable means. For example, the board may be oriented so thatthe viewing areas of each camera are positioned to correspond withparticular regions of the board. In this example, the position, size,and arrangement of scoring regions 204 may be known to the systembecause board 108 is a specific size and shape, and is oriented tocorrespond with cameras 102 when the system is installed or ismanufactured along with the board. The controller may be programmed witha database of scoring rules and control logic corresponding to thespecific orientation of board 108, and the various games that may beplayed.

Cameras like cameras 102 may define a field-of-view like the oneillustrated in FIGS. 3A and 3B at 304. FIG. 3A illustrates afield-of-view from the camera positioned like camera 102A, while FIG. 3Billustrates a different field-of-view from a separate camera positionedlike camera 102B. In both FIGS. 3A and 3B, field-of-view 304 may becaptured by cameras that are mounted flush with the surface of board108. Such a field-of-view is thus configured to capture image datadepicting the position of darts 110 and may exclude image data showingthe sides or edges of board 108.

In another example also illustrated in FIGS. 3A and 3B, board 108 mayinclude indicia, markings, or other information that is automaticallyreadable by the game control system. These markings or indicia may beused by the controller each time the system is initialized or reset toorient or calibrate the scoring system to match the precise position ofboard 108 as seen from the cameras 102.

An example of this calibration feature is illustrated in FIGS. 3A and 3Bwhere a camera field-of-view 302A corresponds to the field-of-viewvisible from cameras like cameras 102. Field-of-view 302A includes aview of edge portions or edge faces 306 along the sides of board 108face the camera. The illustrated edge portions correspond to theposition of scoring regions on the face of board 108. Thus scoringregions like regions 204 may define corresponding edge portions 306. Thesystem control logic may be configured to adjust its calculationsaccording to the position of edge portions 306 each time a game isstarted avoiding errors in scoring that may result from board 108 beingincorrectly positioned relative to cameras 102, or that may result fromthe irregularities that may appear over time in the images captured bycameras 102.

An edge portion 306 may be identified by any suitable means such asindicia 310, or by a machine recognizable pattern such as a barcodes308. The system may be configured to process images of edge portions 306to calculate the position of the cameras relative to board 108. Forexample, control logic may be included to optically recognize characterswhich may be included with indicia 310. In another example, the systemcontrol logic may be configured to decode barcode 308 using images ofbarcodes 308 captured from the cameras field-of-view. Other positionalmarkings may include region boundaries 312 appearing on the edgeportions of the board which correspond with boundaries defining scoringregions 204 on the face of the board. The position of indicia 310,barcode 308, region boundaries 312, other identifying information, orany combination thereof, relative to the cameras field-of-view, may beused by the control logic to calculate the relative position of board108 and scoring regions 204.

Calibrating and orienting cameras 102 may include other aspects. Forexample, besides orienting cameras 102 to capture images parallel to theface of board 108, it may be advantageous to arrange board 108 so thatone or more reference points board 108 are in predetermined locations atspecific distances from cameras 102. For example, the distance from thereference point 206 to each camera's focal point may be the same foreach camera. (Shown in FIG. 1). In another example, the field of view212A and 212B (also illustrated as 302 or 304) may be centered at thebullseye, and may include a view of any objects in any scoring regions204. In another example, a pair of cameras are positioned about 90degrees apart with respect to the center of the bullseye, and cameras102 are focused to have equal sharpness for darts located in the closestand farthest distances from the camera within the scoring area.

Calibrating cameras 102 may also include correcting for distortioncaused by the configuration of lenses, sensors, or other internalcomponents specific to an individual camera. This calibration may benecessary in order to accurately calculate angle, distance, or otherpositional information relative to board 108 using image data capturedby a camera 102. One method of accomplishing this is to capture an imageof a measuring device (e.g. a meter stick) using cameras 102. Markingson the measuring device that have a known spatial relationship to oneanother (e.g. millimeter lines) may be detected by the control logic andmapped to specific rows of pixels in the image. One example of thisconversion includes the following formula:

$\begin{matrix}{{{Angular}\mspace{14mu} {Offset}} = {\tan^{- 1}\frac{{Spatial}\mspace{14mu} {Offset}}{{Reference}\mspace{14mu} {Distance}}}} & {{Formula}\mspace{14mu} 1}\end{matrix}$

Where:

-   -   Angular Offset=The resulting angular offset    -   Spatial Offset=The corresponding spatial marking on the        measuring device (e.g. specific millimeter marking on a meter        stick)    -   Reference Distance=The predetermined distance from the camera to        a fixed reference point on the board (e.g. the distance to the        bullseye)

The relationship between angular offsets and corresponding rows ofpixels in the captured images based on predetermined distances may bestored in lookup tables or used to create curve fitting calculations.These lookup tables or curve-fitting algorithms may be useful forcorrecting errors in calculations resulting from distortion that iscommon to camera lenses, or for errors caused by particularirregularities in the components in a specific camera or camera lens.

Calibration and orientation of the board with respect to the cameras mayalso be enhanced or implemented by placing edge markers 216A-216D atpoints around the perimeter of the board. Such markers may be used asindexes in an indexing system whereby the control software and/orhardware can properly determine the position of darts with respect toscoring regions on the board. Markers 216, as illustrated, include fourseparate markers positioned at specific locations around board 108.Markers 216 may be placed by inserting marking objects into the board atspecific predetermined locations, the marking objects being one exampleof indexes for calibrating the scoring algorithms. In another example, afifth marker may be temporarily or permanently placed at reference point206. Such objects may then be removed when calibration is complete suchas during the final stages of the manufacturing process. In anotherexample, a dart tip, or other stylus may be placed at various locationsaround the board during calibration thus indicating to the system theposition and orientation of predetermined locations around the surfaceof the board.

In another example, markers 216 may be placed permanently in specificlocations with respect to the board making them available to thecalibration algorithms in the system control logic each time the scoringsystem is activated. Permanent placement may be achieved by etching orprinting the index marks on the mounting frame or cabinet that board 108is positioned within or adjacent to. These index markings may thenalways be visible and useable by the cameras for calibration wheneverthe system is activated.

In another example illustrated in FIG. 3C, indexes 314 are positionedaround a back side of board 108 (i.e. the side opposite the scoringsurface). In this example, indexes 314 are detents, impressions,protrusions, or holes in board 108 extend at least partially into theboard if not passing through it entirely. An indexer 318, such as a pegextending outwardly from enclosure 106 may be arranged to correspondwith indexes 314, and may include a biasing element and a releasemechanism 320. The biasing element may be configured to maintain indexer318 in one of indexes 314 until release mechanism is actuated causingindexer 318 to withdraw away from board 108 allowing board 108 to rotatearound axis 316. In this way, board 108 may be rotated independently ofscoring indicia 322 allowing users to rotate the board without adverselyaffecting the scoring process as described herein. Any suitable numberor configuration of indexes 314 may be used. For example, as shown inFIG. 3C, 20 indexes 314 are used and are positioned to correspond to thescoring segments on a standard dartboard.

FIG. 3D illustrates another example indexing system. In FIG. 3D indexes326 are positioned around a back side of board 108 like indexes 314 inFIG. 3C. In this example, indexes 326 may include a ferromagneticmaterial, while indexer 324 may be a magnet. In another optionalvariation, indexes 326 may include magnets, and indexer 324 may includea ferromagnetic material. Ore, indexes 326 and indexer 324 may both bemagnets configured with opposite poles facing one another to create anattraction between the two. In any of these cases, board 108 can bemaintained in a proper spatial relationship to cameras 102 as indexes326 are maintained in the correct relationship to indexer 324 by meansof magnetic forces.

Board 108 may here also be rotated on axis 316 by applying torque toboard 108 around axis 316 sufficient to overcome the magnetic attractionbetween magnet 324 and index 326. Board 108 may rotate independently ofscoring indicia 322 allowing users to rotate the board without adverselyaffecting the automatic scoring process. Any suitable number orconfiguration of indexes 326 may be used.

In another example shown in FIG. 3E, indexing of dartboard 108 isachieved by using a sensor 332, such as an accelerometer, that isoperable to determine a change in the position of the board around axis316 with respect to gravity. In this example, cameras 102, controller104, and/or other components of the system can rotate around axis 316while fixed to board 108. This allows components of the automaticscoring system to remaining in a fixed position relative to board 108.

The indexing system in FIG. 3E may also include indexes 328 and anindexer 330. For example, indexes 328 may operate like either of indexes314 or 326 as discussed above, or they may be any other suitableindexing device. Indexes 328 are optional, and may be unnecessary suchas where indexer 330 is a set screw, brake, or other device configuredto interact with board 108 to keep it from rotating around axis 316.

To determine the location of a dart on a dartboard using the disclosedsystem, the system may make a number of calculations. One example ofthese calculations is illustrated in FIGS. 4A and 5. Although thecalculations involved may be useful for locating and scoring any numberof darts, one dart 402 is illustrated in FIGS. 4A and 5 to simplify theexplanation. (The position of dart 402 generally corresponds to theposition of dart 110B appearing in FIGS. 1-3.) In this example, cameras406A and 406B are like cameras 102 and are configured to capture pixelimage data of dart 402 in one or more separate images taken from eachcamera.

The quality of pixel image data depicting the position of dart 402 maybe enhanced by saturating the background as seen by cameras 406 (or 102)so that the darts appear darker than the background (e.g. the dart issilhouetted against the background from the point of view of thecamera). This configuration can produce a high-contrast and/ormonochromatic image while possibly reducing or eliminating specularhighlights. This can simplify edge detection for the darts which may beadvantageous, such as when multiple darts are clustered tightly togetheron the board. Similarly, controlled lighting for the areas visible tocameras in the disclosed system may reduce or eliminate variations (i.e.“noise”) in the image data due to environmental ambient light.

For example, as illustrated in FIG. 4B, lights 432 may be positioned todirectly project light 434 onto a screen 428 that defines a height abovethe scoring surface 429. Lights 432 may be positioned in any suitableposition, such as on the edge of board 108. The height 429 of screen 428may be any suitable height sufficient to allow light 434 to adequatelybacklight darts 430. Cameras 406 may be mounted as illustrated so thatthe camera's field of view includes a surface of the lighted screen 428on a side of the board opposite the camera. In this arrangement, thelights 432 project onto the same side of screen 428 that is visible tothe cameras 406. Any suitable lights 432 may be used, and need notproject visible light. For example, lights 432 may be infrared LightEmitting Diodes (LEDs) projecting light with a target wavelength ofabout 850 nm onto a plastic screen 428. Cameras 406 may be configured tocapture pixel data in a corresponding narrow range of wavelengths thatincludes 850 nm. Such a narrow range may deviate from the targetwavelength by less than 50 nm, less than 250 nm, or less than 500 nm, ormore.

In a second example show in FIG. 4C, lights 432 are mounted to a mount436 which may be separate from screen 428. In this example, lights 432project onto a first side of screen 428 that is opposite a second sidethat is visible to cameras 406. In this example, screen 428 may have aheight 429 that is lower than what is shown in FIG. 4B. By backlightingscreen 428 in the manner illustrated, light 434 may not reflect directlyoff the surface of screen 428 and then off of darts 430 reducing oreliminating specular highlights and/or edge blurring in the image datacaptured by cameras 430.

For the purposes of describing the calculations in the example provided,camera 406A is located at position A, and camera 406B is at position B.Dart 402 appears at D, and the reference point 408 (which is likereference point 206), is located at R. The center of each camera's fieldof view is illustrated as a line 414 extending from camera 406A toreference point 408, and similarly at 416 as a line extending fromcamera 406B to reference point 408. In the illustrated examples shown inFIGS. 4A and 5, lines 416 and 414 are substantially perpendicular to oneanother, and cameras 406 are each positioned substantially the samedistance away from reference point 408 to simplify the calculations.However, such an arrangement may not be required in other examples thatuse different numbers of cameras or different boards with differentconfigurations of scoring regions.

The following calculations may therefore be performed separately foreach image captured from each camera. The controller may be configuredto perform these calculations for images received from each camera inseries (one after the other for each camera) or in parallel (for allcameras at about the same time). In some cases, the system may makecalculations based on only one of the camera images.

In this example, the system logic is configured to calculate the scoringregion dart 402 is in by determining the distance from a reference pointon the board to the dart, and an angular offset for the dart relative tothe reference point. For example, FIGS. 4A and 5 illustrate scoringregions found on many dartboards. The number of points initially awardedfor dart 402 in this example is determined by the angular offset 502shown in FIG. 5 (2 points in the case of dart 402). The distance fromreference point 408 (504) allows the system to determine whether thepoints initially awarded will be doubled, tripled, or left as is (leftas is in this example). As illustrated, dart 402 thus receives only 2points. Other methods of determining the score for a dart are envisionedand may vary depending on factors such as the arrangement and shape ofthe scoring regions, the number and positioning of the cameras, and thelike.

To determine the offset 502 and distance 504 illustrated in FIG. 5, thecontrol software may initially calculate a center pixel, or row ofpixels, corresponding to the tip of dart 402. This calculation may beperformed by detecting the edges of the dart in the corresponding imagecaptured by the camera. This kind of edge detection may be performed byany suitable image processing algorithm. The system software may beconfigured to use the center pixel as input into the map or curvefitting formula created using Formula 1 disclosed above.

One example of determining the center pixel from the image data isillustrated in FIG. 4D. Pixel data for an image captured by a camerasuch as cameras 102 and/or 420 shown in clipping region 440 whichrepresents the portion of the image data the algorithm is considering.The field of view for a camera may be offset from the scoring surface byan offset 450. Such a configuration may involve calculating a projectedvector 446 of the dart tip to calculate where the dart intersects theboard. The system can calculate vector 446 by calculating a width 442 ofa top edge of the dart where it intersects one side of view 440, and asecond width 444 of a bottom edge where the dart intersects a secondside of the field of view 440. Vector 446 can be calculated by locatingthe center of the bottom edge (point 452) and the center of the top edge(438) and calculating the line (or vector) 446 which projects down tothe surface of the dartboard at 448. The point 448 may be used as thecenter pixel for determining the dart's location as referenced by thepositioning algorithm.

Thus pixel data of dart 402 captured by camera 406A may be used tocalculate an angle 410. Angle 410, which may also be referred to as∠RAD, represents an angular offset of dart 402 with respect to thecenter of camera 406A's viewing area (line 414). A corresponding angularoffset 412 may be calculated for camera 406B, and may be referred to as∠RBD.

With these angles in mind, camera 406A, camera 406B, and dart 402 may bethought of as defining the vertices of a triangle with a first side 404(side AB) defined by the distance between cameras 406A and 406B, asecond side 418 (side AD) defined by the distance between camera 406Aand dart 402, and a third side 420 (side BD) defined by the distancebetween camera 406B and dart 402. The length of side 404 is determinedby the distances from cameras 406 to the reference point 408, and may beknown or fixed. In FIGS. 4A and 5, 414 and 416 are equal andperpendicular to one another. This means angle 422, also referred to as∠BAR, and angle 424 (or ∠ABR) are also 45 degrees.

In a different example where the distances between cameras 406A and 406Band reference point 408 are not equal, additional calculations andmeasurements may be useful to determine the lengths of the sides of atriangle defined by 414, 416, and 404, and the corresponding interiorangles ∠BAR, ∠ABR, and ∠ARB. In that case, these angles and distancesmay be measured and/or calculated and stored as reference data in thecontrol system, or automatically calculated by the system as part of theinitial calibration process before the system calculates the distanceto, and position of, dart 402 relative to the cameras 406.

In either case, calculating the interior angles of the triangle definedby sides 418, 404, and 420 is one way the system can determine offset502 and distance 504. In FIGS. 4A and 5, angle ∠BAD may be calculated bycombining angles 410 and 422. Similarly, ∠ABD may be calculated byadding angles 412 and 424. Angle ∠ADB (426) may be calculated bysubtracting angles ∠ABD and ∠BAD from 180 degrees.

The length of sides 420 and 418, that is the distance from each camerato dart 402, can be calculated using angle 426, and distance betweencameras 406. For example, the system can calculate the length of side420 using the Law of Sines and the length of side 404 using thefollowing formula:

$\begin{matrix}{{BD} = {{AB}\left( \frac{\sin \mspace{14mu} \angle \; {BAD}}{\sin \mspace{14mu} \angle \; {ADB}} \right)}} & {{Formula}\mspace{14mu} 2}\end{matrix}$

Where:

-   -   BD=The distance from the camera 406B to the dart (i.e. the        length of side 420).    -   AB=The distance between the cameras 406A and 406B (i.e. the        length of side 404).    -   ∠BAD=The angle between camera 406B and dart 402 as viewed from        camera 406A.    -   ∠ADB=The angle between camera 406A and 406B as viewed from        camera dart 402.        A similar calculation may be performed to calculate the length        of 418 (i.e. the distance from the dart to camera 406A to the        dart) by replacing BD with AD, and replacing ∠BAD with ∠ABD in        Formula 2.

The system may be configured to calculate the distance from thereference point 408 to the dart (504), and the angular offset (502) ofthe dart as illustrated in FIG. 5 at 500. The distance 502 may bedetermined using the Law of Cosines as illustrated in the followingformula:

RD=√{square root over (BD ² +BR ²−2(BD)(BR)cos ∠RBD)}  Formula 3:

Where:

-   -   RD=The distance from the reference point 408 to the dart 402        (i.e. side 504).    -   BD=The distance from dart 402 to camera 406B (i.e. side 420).    -   BR=The distance from the camera 406B to the reference point 408        (i.e. side 416).    -   ∠RBD=The angle 412 between the center of the camera 406B's field        of view (416) and dart 402.

The angular offset of the dart with respect to one of the cameras asillustrated may be calculated according to the following formula:

$\begin{matrix}{{\angle \; {DRB}} = {\sin^{- 1}\left( {{BD} \times \frac{\sin \mspace{14mu} \angle \; {RBD}}{RD}} \right)}} & {{Formula}\mspace{20mu} 4}\end{matrix}$

Where:

-   -   ∠DRB=The angular offset of the dart with respect to the center        of the field of view for camera 406B    -   BD=The distance from dart 402 to camera 406B (i.e. side 420).    -   ∠RBD=The angle 412 between the center of the camera 406B's field        of view (416) and dart 402.    -   RD=The distance from reference point 408 to the dart 402 (i.e.        side 504).

When ∠DRB and side 504 are known, the system can score dart 402 using∠DRB (502) to determine the base score (e.g. 2 points for a traditionaldartboard), and the length of side 504, that is the distance from dart402 to central region 408, can be used to determine if the base score isto be multiplied by a factor of one, two, or three (a factor of one asillustrated), or is out of bounds receiving a score of zero points.

One example of software and hardware components that may be used toimplement the scoring system discussed herein is shown in FIG. 6 at 600.Controller 602 may include any suitable arrangement of hardware andcontrol logic. For example, controller 602 may include a processor 604that can be programmed to perform calculations related to locating dartsbased on imaged data from multiple cameras, scoring darts when theposition of the dart has been calculated, displaying a user interfaceindicating the progress of the game, and generally controlling the flowof the game.

A wireless transceiver 206 may be included allowing controller 602 toexchange information wirelessly with various other devices such ascameras 102, or optionally with computer 112, and the like. For example,communications links 116 may be implemented via wireless technology suchas WiFi, Bluetooth, and the like allowing communication between controlsystem 202 and cameras 102 using transceiver 206.

Controller 602 may include a system I/O interface 610 for sending,receiving, and handling input and output with external devices such ascameras 102, or optionally with computer 112, and the like. A networkinterface 618 may be configured to interact with one or more computernetworks. Interface 618 may interact directly with a computer networkthrough a wired or wireless communications link, or by using acommunications link to another electronic device that has access to anetwork. For example, a communications link like communications link 114may connect controller 602 to a computer like device 112 which may thenprovide access to a computer network like network 124. A memory 608 maybe included as well for temporarily or permanently storing images, datavalues, instructions, and the like.

Controller 602 may include user I/O devices 614 which includes anysuitable devices for accepting input from a user such as keyboards,mice, or other I/O devices. For example, devices 614 may include atouchscreen, one or more buttons or other controls on a control panelmounted to or integrated with the controller like controller 104.Devices 614 may include buttons, keyboards, touchscreens, or other I/Odevices mounted to or integrated with a computer like computer 112.

A display device 612 may be included as well for displaying a userinterface generated by controller 602. In one example, the scoringsystem includes game and/or scoring indicators such as one or morematrix or multi-segment LED display devices integrated with a controllerlike controller 104. Such devices may be controlled by the system todisplay game, scoring, calibration, or other useful information. Inanother example, display device 612 is a display device like displaydevice 122 integrated with a computer like device 112 which may beconnected to the controller via wired or wireless communications links.Thus display device 612 may be a touchscreen programmed with various GUIcontrols such as check boxes, drop-down lists, text fields, buttons, andthe like useful for accepting input and displaying output toparticipants.

Controller 602 may include any combination of control logic 616 whichmay be executed by processor 604. For example, control logic 616 mayinclude a calibration module 620 which may configure controller 602 toinitialize the state of the control system with respect to a give gameand board. This initialization may include calibrating the system basedon input from multiple cameras. In one example, calibration module 620may accept input indicating where a reference point like reference point206 or 408 appears in images retrieved by multiple cameras as disclosedherein. Calibration module 620 may also analyze calibration imagesshowing indicia or markings or other information that is automaticallyreadable such as indicia 310 or barcodes 308. In another example,calibration module 620 may also be useful for programmatically adjustingor “clipping”, the field-of-view for one or more of the cameras in thesystem to reduce the amount of image data to process thus decreasing theprocessing time required to score darts. Programmatically clipping thefield of view may also remove background information such as extraneousshapes, designs, marks, words, and the like which may be present inimages captured by the camera (i.e. “background clutter”). Suchbackground information may cause errors in the calculations whenprocessing the position of darts. In yet another example, calibrationmodule 620 may optionally configure controller 602 to capture initialimages from the various individual cameras when the game is initializedbefore any darts are thrown. These initial images may be stored inmemory 608, retrieved later during a game to reduce or eliminate theeffect of background clutter appearing in the images captured by thecameras by canceling out this extraneous information.

An image acquisition module 630 may configure controller 602 to acceptimages acquired by cameras like cameras 102 or cameras 406. Imageacquisition module 630 may accept a stream of images captured fromcameras in the system such as in the case of video cameras taking somenumber of frames per second (e.g. fewer than 15 frames per second,between 15 and 30 frames per second, or more than 30 frames per second).Module 630 may combine and synchronize the image streams obtained frommultiple cameras. Image acquisition module 630 may retrieve and storesome or all of the frames captured by the system cameras in memory 608and may delete frames after detecting and scoring a thrown dart. Inanother example, image acquisition module 630 may retrieve a singleframe from each camera in the scoring system when triggered to do so.

Such triggering may occur, for example, when the system detects a darthas landed on the board, or off the board but within the area monitoredby the system. Monitoring to determine when a dart has been thrown maybe implemented using any suitable technology such as accelerometers orother vibration detection devices, light curtain devices that detect thepresence of a dart when the dart passes through a substantiallycontinuous beam of light, and the like.

In one example based on in FIG. 1, a sensor like sensor 126 isconfigured to detect throws and trigger the cameras. In this example,the sensor may be a contact (piezoelectric) microphone attached to theback of the dartboard (i.e. the side opposite the scoring surface). Thesensor may capture sounds of the dart striking the board and relay theaudio signals to a controller like controller 104. The board itself mayadvantageously operate as a filter reducing or eliminating ambient noiseso that only direct impacts by darts are detected. The controller may beconfigured to repeatedly sample the microphone audio input signals. Forexample, the controller may process signals for a particular samplingperiod of time that is based on the length of an impact pulse determinedexperimentally. The controller may then calculate a Root-Mean-Square(RMS) average for the signal. If the RMS average, amplitude, frequency,or other property of the signal exceeds a previously determined targetlevel, then the triggering may occur to begin acquiring images from thecameras.

An image manipulation module 626 may be included and may configuresystem 602 to perform various image analysis tasks. For example, module626 may compare the current frame to a background frame such as abackground frame captured in the calibration process, or a previouslycaptured frame that includes darts presently on the board. Imagemanipulation module 626 may also be useful for identifying the edges ofthe shape such as a dart is in the image. Image manipulation module 626may be used along with calibration module 622 identify calibration marksand an image, or to identify one or more reference point markings thatmay be present in an image captured by the cameras.

A mathematics module 622 may be useful for configuring controller 602 tomake various mathematical calculations. For example mathematics module622 may configure the system to calculate the angle of the dart withrespect to the camera, calculate angles between a dart and both cameras,calculate the distance from the camera to the dart, calculate thedistance from a camera to a reference point, and calculate an angle froma reference point to a dart to name a few nonlimiting examples.Mathematics module 622 may also be used to calculate a final point scoreonce the scoring region a dart has landed in has been identified.

Control logic 616 may also include a game database 624. This databasemay include scoring rules that may be used by other control logicmodules to determine a score for all participants at any given timeduring the game. Game database 624 may also include alternative boardconfigurations and related scoring regions and rules, as well asinformation about players such as names, past scores, contactinformation, and the like. Game database 624 may be configured to acceptnew rules, boards, and other game configuration parameters as well aschanges to existing rules. These changes may be accepted from a computerlike computer 112 which may be programmed to receive the updates or newconfigurations from a server coupled to a network like the Internet, andsend them to database 624 via a communications link like communicationslink 114.

A user interface module 634 may also be included and may be useful forconfiguring system 602 to interact with users. Such interactions mayinclude indicating that initialization, startup, and calibration ofsystem 602 has been completed, and the system is ready to play a game.Module 634 may also accept input from a user using an I/O device 614indicating the user would like to start a new game. Module 634 may theninitiate a new game. For example, user interface module 634 may acquireimages using image acquisition module 630 and manipulate those imagesusing image manipulation module 636 to determine if and when a dart hasbeen thrown. Module 634 may use mathematics module 622 to calculate thelocation of the dart and to compare this location with rules from gamedatabase 624 to determine the scoring region the dart is in. Userinterface module 634 may then present the resulting score to theparticipant via a user interface that includes a display like display120, or via a display device like display device 122 that is part of acomputer.

Other modules that may be included in control logic 616 include acommunications module 628 that may be useful for handling communicationswith devices in the system such as the cameras, or with other devicesthat are interacting with the controller such as a computer.Communications module 628 may also handle communications between thecontroller and other devices such as other scoring systems or computersconnected via a computer network such as the Internet. Control logic 616may also include an operating system module 632 which may be useful formaintaining device drivers for various devices used in the system, for aproviding initial startup, for the initialization of other modules inthe system, or for basic functions such as memory management, and thelike.

Examples of the disclosed scoring system in operation are illustrated inFIGS. 7-10. In FIG. 7, one example of the overall flow of the scoringsystem is illustrated at 700. At 702, the system may initialize theboard and prepare the system for operation. Initialization at 702 mayinclude various calibration or self-diagnostic operations such as thoseperformed by calibration module 620. Initialization may occur each timethe system is activated, or in some cases may occur only once when thesystem is manufactured, or when the system is installed after it ismanufactured. Initialization may also include the selection of a gamestored in game database 624, and loading game rules from the databaseand preparing them to be executed by processor 604.

At 704, the system is ready to accept game play input from participants.At 706, one or more participants request to start a new game such as byusing an I/O device 614. At 708, the system begins detecting whether adart has been thrown by an engaging aspects of the system disclosedherein such as image acquisition module 630, image manipulation module626, mathematics module 622, and the like. If a dart has been thrown at710, the system locates the position of the dart at 712, and calculatesa score at 714 based on rules and scoring regions for the current game.Based on the scoring results, if the game is not over at 716, the systemreturns to 708 and 710 to determine whether a dart is thrown in whichcase the scoring process repeats. If the system 602 compares the mostrecent scoring results to rules from game database 624 and determinesthat the game is over at 716, a winner is reported at 718 using anysuitable user interface for display device available to the system. Thesystem may then wait for user input 704 indicating the start of a newgame at 706.

One example of actions taken by the system to initialize a board at 702is illustrated in FIG. 8 at 800. For example, a calibration device suchas a ruler or meter stick may be positioned adjacent the face of theboard in view of each camera. The calibration device may be centered ona reference point such as reference point 206 or 408. An image may beretrieved from a camera at 804 such as by using image acquisition module630. Algorithms like those in image manipulation module 626 andmathematics module 622 may be executed to detect the location ofcalibration marks in the image at 806. An offset angle may be calculatedfor each calibration mark as discussed above with respect to Formula 1.At 810, the relationship between angular offsets and the correspondingrows of pixels in the captured image may be stored in memory 608 as alookup table, or may be used by mathematics module 622 to create a curvefitting formula. Any additional calibration marks may be processed at812 until no further calculations are required. The actions taken at 800may be performed once when the board is manufactured, when the board isinstalled, or multiple times such as each time the system is activatedto play a game. In this example, calibration marks may be included withthe board installation making it possible for the system to adjust forirregularities in the sensors or other viewing components of cameras inthe system.

Additional detail involved in detecting when a dart is thrown at 708 isillustrated at 900 in FIG. 9. At 902, the current frame is acquired fromeach of the multiple cameras in the system using image acquisitionmodule 630. Image manipulation module 626 may be engaged to compare thecurrent frame to one or more previously acquired frames at 904.Previously acquired frames may be used as background frames that may beused by algorithms such as those in image manipulation module 626 asimage masks to subtract previously acquired pixel data thus identifyingmore recent pixel data. In this way, image manipulation module 626 mayfind new objects that may be present in the current image by ignoringbackground clutter and any other previously appearing objects that havealready been accounted for in the cameras field-of-view. If no newobjects are present at 906, the next image is acquired and may becompared to the previous image until a new object is present.

When the system detects a new object at 906, the system may identify theedges of the new object and optionally its shape as well at 908. Imagemanipulation module 626, and mathematics module 622 may be used in thisprocess to perform calculations using pixel data capture by the cameras.If the object is a dart at 910, the system may replace an existingbackground image with the current frame to enable the system to detectthe next object. The system may then optionally notify the participantsthat a dart has been thrown at 914 such as by an audible or visibleindicator (e.g. buzzer, flashing light, a sequence of tones, and thelike). Notification that the dart was thrown at 914 may also includenotifying other subroutines or software modules in control logic 616 toprocess the most recent image data to locate the dart at 712 so that thescore may be determined.

An example of some additional actions the system may take in locating adart appears at 1000 in FIG. 10. For example, the center of the dart maybe located at 1002 using control logic 616. Image manipulation module626, mathematics module 622, and any other suitable modules may beemployed. The control logic may be configured to calculate one or morerows of pixels representing the center of a dart on the board. In somecases, the pixels representing the center of the dart may be determinedby projecting a dart tip vector from the dart body to intersect theboard surface. The control logic may convert pixel coordinates from eachcamera into planar locations (e.g. x,y coordinate pairs) to aid inlocating the dart tip.

At 1004, the system may calculate the angle of the dart with respect tothe camera as discussed above with respect to angles 410 and 412 in FIG.4. At 1006, control logic 616 may calculate an angle between the dartand both cameras, an example of which is illustrated in FIG. 4 at 426.The system may calculate the distance from a given camera to the dart at1008, an example of which appears in FIGS. 4A and 5 as 418 and 420. Adistance from a reference point such as 408 or 206 may be calculated at1010. An example of this distance appears in FIG. 5 at 504. An angularoffset like offset 502 may be calculated at 1012. In this example, thedistance from a reference point and an angular offset may be used toidentify the location of a dart, a location which may then be used tocalculate the score.

Glossary of Definitions and Alternatives

While the invention is illustrated in the drawings and described herein,this disclosure is to be considered as illustrative and not restrictivein character. The present disclosure is exemplary in nature and allchanges, equivalents, and modifications that come within the spirit ofthe invention are included. The detailed description is included hereinto discuss aspects of the examples illustrated in the drawings for thepurpose of promoting an understanding of the principles of theinvention. No limitation of the scope of the invention is therebyintended. Any alterations and further modifications in the describedexamples, and any further applications of the principles describedherein are contemplated as would normally occur to one skilled in theart to which the invention relates. Some examples are disclosed indetail, however some features that may not be relevant may have beenleft out for the sake of clarity.

Where there are references to publications, patents, and patentapplications cited herein, they are understood to be incorporated byreference as if each individual publication, patent, or patentapplication were specifically and individually indicated to beincorporated by reference and set forth in its entirety herein.

Singular forms “a”, “an”, “the”, and the like include plural referentsunless expressly discussed otherwise. As an illustration, references to“a device” or “the device” include one or more of such devices andequivalents thereof.

Directional terms, such as “up”, “down”, “top” “bottom”, “fore”, “aft”,“lateral”, “longitudinal”, “radial”, “circumferential”, etc., are usedherein solely for the convenience of the reader in order to aid in thereader's understanding of the illustrated examples. The use of thesedirectional terms does not in any manner limit the described,illustrated, and/or claimed features to a specific direction and/ororientation.

Multiple related items illustrated in the drawings with the same partnumber which are differentiated by a letter for separate individualinstances, may be referred to generally by a distinguishable portion ofthe full name, and/or by the number alone. For example, if multiple“laterally extending elements” 90A, 90B, 90C, and 90D are illustrated inthe drawings, the disclosure may refer to these as “laterally extendingelements 90A-90D,” or as “laterally extending elements 90,” or by adistinguishable portion of the full name such as “elements 90”.

The language used in the disclosure are presumed to have only theirplain and ordinary meaning, except as explicitly defined below. Thewords used in the definitions included herein are to only have theirplain and ordinary meaning. Such plain and ordinary meaning is inclusiveof all consistent dictionary definitions from the most recentlypublished Webster's and Random House dictionaries. As used herein, thefollowing definitions apply to the following terms or to commonvariations thereof (e.g., singular/plural forms, past/present tenses,etc.):

“Barcode” generally refers to a visible arrangement of shapes, colors,lines, dots, or symbols fixed in some medium and arranged on the mediumin a pattern configured to encode data. Examples include opticalmachine-readable representations of data relating to an object to whichthe barcode is attached such as a Universal Produce Code (UPC), or anyvisible patterns related to any type of Automatic Identification andData Capture (AIDC) system. Another example of a barcode is a QuickResponse Code (QR Code) which arranges various light and dark shapes toencode data.

Any suitable medium is envisioned. Examples include an adhesive label, aphysical page, a display device configured to display the barcode, orany other object such as a box, a statute, a machine, or other physicalstructure to which the barcode is affixed or upon which it is printed.For example, a bar code may be etched into metal, machined into plastic,or formed by organizing visible three-dimensional shapes into a pattern.

The barcode may not be visible to humans but may be fixed using asubstance or device that allows the barcode to be visible to sensors ina machine configured to read wavelengths of light outside thosedetectable by the human eye. Examples of this type of barcode includebarcodes printed with ink that is only visible under ultraviolet (i.e.“black”) light, or barcodes displayed using infrared light.

“Board” or “dartboard” generally refers to a substantially planarstructure useful as a target at which projectiles (e.g. darts) arethrown or otherwise propelled. A board may be constructed using wood,cork, plastic, or other suitable materials, and may include a scoringsurface or scoring area comprising paper, clay, sisal fibers, rubber,plastic, or other suitable materials for temporarily capturingprojectiles as they land on the board. The scoring surface may bedivided into scoring regions or sectors. The scoring regions may benumbered or otherwise identifiable to facilitate calculation of a scorevalue associated with projectiles landing in each separate scoringregion. The scoring regions may be demarcated by raised metal, plastic,or other banding, by lines or other markings painted or otherwiseapplied to the surface of the board, or by lines projected onto theboard by a projector.

“Camera” generally refers to an apparatus or assembly that recordsimages of a viewing area or field-of-view on a medium or in a memory.The images may be still images comprising a single frame or snapshot ofthe viewing area, or a series of frames recorded over a period of timethat may be displayed in sequence to create the appearance of a movingimage. Any suitable media may be used to store, reproduce, record, orotherwise maintain the images.

“Communication Link” generally refers to a connection between two ormore communicating entities. The communication between the communicatingentities may occur by any suitable means. For example the connection maybe implemented as an actual physical link, an electrical link, anelectromagnetic link, a logical link, or any other suitable linkagefacilitating communication.

In the case of an actual physical link, communication may occur bymultiple components in the communication link configured to respond toone another by physical movement of one element in relation to another.In the case of an electrical link, the communication link may becomposed of multiple electrical conductors electrically connected toform the communication link.

In the case of an electromagnetic link, the connection may beimplemented by sending or receiving electromagnetic energy at anysuitable frequency, thus allowing communications to pass aselectromagnetic waves. These electromagnetic waves may or may not passthrough a physical medium such as an optical fiber, through free space,or through any combination thereof. Electromagnetic waves may be passedat any suitable frequency including any frequency in the electromagneticspectrum.

In the case of a logical link, the communication link may be aconceptual linkage between the sender and recipient such as atransmission station and a receiving station. Logical link may includeany combination of physical, electrical, electromagnetic, or other typesof communication links.

“Computer” generally refers to any computing device configured tocompute a result from any number of input values or variables. Acomputer may include a processor for performing calculations to processinput or output. A computer may include a memory for storing values tobe processed by the processor, or for storing the results of previousprocessing.

A computer may also be configured to accept input and output from a widearray of input and output devices for receiving or sending values. Suchdevices include other computers, keyboards, mice, visual displays,printers, industrial equipment, and systems or machinery of all typesand sizes. For example, a computer can control a network or networkinterface to perform various network communications upon request. Thenetwork interface may be part of the computer, or characterized asseparate and remote from the computer.

A computer may be a single, physical, computing device such as a desktopcomputer, a laptop computer, or may be composed of multiple devices ofthe same type such as a group of servers operating as one device in anetworked cluster, or a heterogeneous combination of different computingdevices operating as one computer and linked together by a communicationnetwork. The communication network connected to the computer may also beconnected to a wider network such as the internet. Thus a computer mayinclude one or more physical processors or other computing devices orcircuitry, and may also include any suitable type of memory.

A computer may also be a virtual computing platform having an unknown orfluctuating number of physical processors and memories or memorydevices. A computer may thus be physically located in one geographicallocation or physically spread across several widely scattered locationswith multiple processors linked together by a communication network tooperate as a single computer.

The concept of “computer” and “processor” within a computer or computingdevice also encompasses any such processor or computing device servingto make calculations or comparisons as part of the disclosed system.Processing operations related to threshold comparisons, rulescomparisons, calculations, and the like occurring in a computer mayoccur, for example, on separate servers, the same server with separateprocessors, or on a virtual computing environment having an unknownnumber of physical processors as described above.

A computer may be optionally coupled to one or more visual displaysand/or may include an integrated visual display. Likewise, displays maybe of the same type, or a heterogeneous combination of different visualdevices. A computer may also include one or more operator input devicessuch as a keyboard, mouse, touch screen, laser or infrared pointingdevice, or gyroscopic pointing device to name just a few representativeexamples. Also, besides a display, one or more other output devices maybe included such as a printer, plotter, industrial manufacturingmachine, 3D printer, and the like. As such, various display, input andoutput device arrangements are possible.

Multiple computers or computing devices may be configured to communicatewith one another or with other devices over wired or wirelesscommunication links to form a network. Network communications may passthrough various computers operating as network appliances such asswitches, routers, firewalls or other network devices or interfacesbefore passing over other larger computer networks such as the internet.Communications can also be passed over the network as wireless datatransmissions carried over electromagnetic waves through transmissionlines or free space. Such communications include using WiFi or otherWireless Local Area Network (WLAN) or a cellular transmitter/receiver totransfer data.

“Dart” generally refers to an object that is designed to be propelledtoward a target. This includes the device commonly known by this titlewhich can include a sharp tip, weighted body, and stabilizing fins thatis designed to be propelled toward a dartboard configured to retain thedart and provide scoring information. Other examples of the generalconcept include any suitable projectile such as a ball, arrow, bullet,stone, or other suitable object irrespective of shape, size, weight, orpreferred orientation.

“Data” generally refers to one or more values of qualitative orquantitative variables that are usually the result of measurements. Datamay be considered “atomic” as being finite individual units of specificinformation. Data can also be thought of as a value or set of valuesthat includes a frame of reference indicating some meaning associatedwith the values. For example, the number “2” alone is a symbol thatabsent some context is meaningless. The number “2” may be considered“data” when it is understood to indicate, for example, the number ofitems produced in an hour.

Data may be organized and represented in a structured format. Examplesinclude a tabular representation using rows and columns, a treerepresentation with a set of nodes considered to have a parent-childrenrelationship, or a graph representation as a set of connected nodes toname a few.

The term “data” can refer to unprocessed data or “raw data” such as acollection of numbers, characters, or other symbols representingindividual facts or opinions. Data may be collected by sensors incontrolled or uncontrolled environments, or generated by observation,recording, or by processing of other data. The word “data” may be usedin a plural or singular form. The older plural form “datum” may be usedas well.

“Database” also referred to as a “data store”, “data repository”, or“knowledge base” generally refers to an organized collection of data.The data is typically organized to model aspects of the real world in away that supports processes obtaining information about the world fromthe data. Access to the data is generally provided by a “DatabaseManagement System” (DBMS) consisting of an individual computer softwareprogram or organized set of software programs that allow user tointeract with one or more databases providing access to data stored inthe database (although user access restrictions may be put in place tolimit access to some portion of the data). The DBMS provides variousfunctions that allow entry, storage and retrieval of large quantities ofinformation as well as ways to manage how that information is organized.A database is not generally portable across different DBMSs, butdifferent DBMSs can interoperate by using standardized protocols andlanguages such as Structured Query Language (SQL), Open DatabaseConnectivity (ODBC), Java Database Connectivity (JDBC), or ExtensibleMarkup Language (XML) to allow a single application to work with morethan one DBMS.

Databases and their corresponding database management systems are oftenclassified according to a particular database model they support.Examples include a DBMS that relies on the “relational model” forstoring data, usually referred to as Relational Database ManagementSystems (RDBMS). Such systems commonly use some variation of SQL toperform functions which include querying, formatting, administering, andupdating an RDBMS. Other examples of database models include the“object” model, the “object-relational” model, the “file”, “indexedfile” or “flat-file” models, the “hierarchical” model, the “network”model, the “document” model, the “XML” model using some variation ofXML, the “entity-attribute-value” model, and others.

Examples of commercially available database management systems includePostgreSQL provided by the PostgreSQL Global Development Group;Microsoft SQL Server provided by the Microsoft Corporation of Redmond,Wash., USA; MySQL and various versions of the Oracle DBMS, oftenreferred to as simply “Oracle” both separately offered by the OracleCorporation of Redwood City, Calif., USA; the DBMS generally referred toas “SAP” provided by SAP SE of Walldorf, Germany; and the DB2 DBMSprovided by the International Business Machines Corporation (IBM) ofArmonk, N.Y., USA.

The database and the DBMS software may also be referred to collectivelyas a “database”. Similarly, the term “database” may also collectivelyrefer to the database, the corresponding DBMS software, and a physicalcomputer or collection of computers. Thus the term “database” may referto the data, software for managing the data, and/or a physical computerthat includes some or all of the data and/or the software for managingthe data.

“Detent” generally refers to a device for positioning and holding onemechanical part in relation to another in a manner such that the devicecan be released by force applied to one of the parts. Examples anymechanical device for holding, gripping, or fastening that consist of aspike, bar, hook, catch, or ball, with or without a biasing element tomaintain the one mechanical part in relation to the other.

“Display device” generally refers to any device capable of beingcontrolled by an electronic circuit or processor to display informationin a visual or tactile. A display device may be configured as an inputdevice taking input from a user or other system (e.g. a touch sensitivecomputer screen), or as an output device generating visual or tactileinformation, or the display device may configured to operate as both aninput or output device at the same time, or at different times.

The output may be two-dimensional, three-dimensional, and/or mechanicaldisplays and includes, but is not limited to, the following displaytechnologies: Cathode ray tube display (CRT), Light-emitting diodedisplay (LED), Electroluminescent display (ELD), Electronic paper,Electrophoretic Ink (E-ink), Plasma display panel (PDP), Liquid crystaldisplay (LCD), High-Performance Addressing display (HPA), Thin-filmtransistor display (TFT), Organic light-emitting diode display (OLED),Surface-conduction electron-emitter display (SED), Laser TV, Carbonnanotubes, Quantum dot display, Interferometric modulator display(IMOD), Swept-volume display, Varifocal mirror display, Emissive volumedisplay, Laser display, Holographic display, Light field displays,Volumetric display, Ticker tape, Split-flap display, Flip-disc display(or flip-dot display), Rollsign, mechanical gauges with moving needlesand accompanying indicia, Tactile electronic displays (aka refreshableBraille display), Optacon displays, or any devices that either alone orin combination are configured to provide visual feedback on the statusof a system, such as the “check engine” light, a “low altitude” warninglight, an array of red, yellow, and green indicators configured toindicate a temperature range.

“Input Device” generally refers to a device coupled to a computer thatis configured to receive input and deliver the input to a processor,memory, or other part of the computer. Such input devices can includekeyboards, mice, trackballs, touch sensitive pointing devices such astouchpads, or touchscreens. Input devices also include any sensor orsensor array for detecting environmental conditions such as temperature,light, noise, vibration, humidity, and the like.

“Index” generally refers to an indicator, guide, sign, gauge, signal,token, or mark used to precisely and accurately position one object intoa proper spatial relationship with another. The index may or may notrequire physical interaction between the two objects. For example, a pegmay index a proper position by holding one object in the properrelationship with another. Similarly, a magnet on one object may beoperable as an index when used in conjunction with another magnet orferromagnetic item attached to the second object.

“Memory” generally refers to any storage system or device configured toretain data or information. Each memory may include one or more types ofsolid-state electronic memory, magnetic memory, or optical memory, justto name a few. Memory may use any suitable storage technology, orcombination of storage technologies, and may be volatile, nonvolatile,or a hybrid combination of volatile and nonvolatile varieties. By way ofnon-limiting example, each memory may include solid-state electronicRandom Access Memory (RAM), Sequentially Accessible Memory (SAM) (suchas the First-In, First-Out (FIFO) variety or the Last-In-First-Out(LIFO) variety), Programmable Read Only Memory (PROM), ElectronicallyProgrammable Read Only Memory (EPROM), or Electrically ErasableProgrammable Read Only Memory (EEPROM).

Memory can refer to Dynamic Random Access Memory (DRAM) or any variants,including static random access memory (SRAM), Burst SRAM or Synch BurstSRAM (BSRAM), Fast Page Mode DRAM (FPM DRAM), Enhanced DRAM (EDRAM),Extended Data Output RAM (EDO RAM), Extended Data Output DRAM (EDODRAM), Burst Extended Data Output DRAM (REDO DRAM), Single Data RateSynchronous DRAM (SDR SDRAM), Double Data Rate SDRAM (DDR SDRAM), DirectRambus DRAM (DRDRAM), or Extreme Data Rate DRAM (XDR DRAM).

Memory can also refer to non-volatile storage technologies such asnon-volatile read access memory (NVRAM), flash memory, non-volatilestatic RAM (nvSRAM), Ferroelectric RAM (FeRAM), Magnetoresistive RAM(MRAM), Phase-change memory (PRAM), conductive-bridging RAM (CBRAM),Silicon-Oxide-Nitride-Oxide-Silicon (SONOS), Resistive RAM (RRAM),Domain Wall Memory (DWM) or “Racetrack” memory, Nano-RAM (NRAM), orMillipede memory. Other non-volatile types of memory include opticaldisc memory (such as a DVD or CD ROM), a magnetically encoded hard discor hard disc platter, floppy disc, tape, or cartridge media. The conceptof a “memory” includes the use of any suitable storage technology or anycombination of storage technologies.

“Module” or “Engine” generally refers to a collection of computationalor logic circuits implemented in hardware, or to a series of logic orcomputational instructions expressed in executable, object, or sourcecode, or any combination thereof, configured to perform tasks orimplement processes. A module may be implemented in software maintainedin volatile memory in a computer and executed by a processor or othercircuit. A module may be implemented as software stored in anerasable/programmable nonvolatile memory and executed by a processor orprocessors. A module may be implanted as software coded into anApplication Specific Information Integrated Circuit (ASIC). A module maybe a collection of digital or analog circuits configured to control amachine to generate a desired outcome.

Modules may be executed on a single computer with one or moreprocessors, or by multiple computers with multiple processors coupledtogether by a network. Separate aspects, computations, or functionalityperformed by a module may be executed by separate processors on separatecomputers, by the same processor on the same computer, or by differentcomputers at different times.

“Multiple” as used herein is synonymous with the term “plurality” andrefers to more than one, or by extension, two or more.

“Network” or “Computer Network” generally refers to a telecommunicationsnetwork that allows computers to exchange data. Computers can pass datato each other along data connections by transforming data into acollection of datagrams or packets. The connections between computersand the network may be established using either cables, optical fibers,or via electromagnetic transmissions such as for wireless networkdevices.

Computers coupled to a network may be referred to as “nodes” or as“hosts” and may originate, broadcast, route, or accept data from thenetwork. Nodes can include any computing device such as personalcomputers, phones, servers as well as specialized computers that operateto maintain the flow of data across the network, referred to as “networkdevices”. Two nodes can be considered “networked together” when onedevice is able to exchange information with another device, whether ornot they have a direct connection to each other.

Examples of wired network connections may include Digital SubscriberLines (DSL), coaxial cable lines, or optical fiber lines. The wirelessconnections may include BLUETOOTH, Worldwide Interoperability forMicrowave Access (WiMAX), infrared channel or satellite band, or anywireless local area network (Wi-Fi) such as those implemented using theInstitute of Electrical and Electronics Engineers' (IEEE) 802.11standards (e.g. 802.11(a), 802.11(b), 802.11(g), or 802.11(n) to name afew). Wireless links may also include or use any cellular networkstandards used to communicate among mobile devices including 1G, 2G, 3G,or 4G. The network standards may qualify as 1G, 2G, etc. by fulfilling aspecification or standards such as the specifications maintained byInternational Telecommunication Union (ITU). For example, a network maybe referred to as a “3G network” if it meets the criteria in theInternational Mobile Telecommunications-2000 (IMT-2000) specificationregardless of what it may otherwise be referred to. A network may bereferred to as a “4G network” if it meets the requirements of theInternational Mobile Telecommunications Advanced (IMTAdvanced)specification. Examples of cellular network or other wireless standardsinclude AMPS, GSM, GPRS, UMTS, LTE, LTE Advanced, Mobile WiMAX, andWiMAX-Advanced.

Cellular network standards may use various channel access methods suchas FDMA, TDMA, CDMA, or SDMA. Different types of data may be transmittedvia different links and standards, or the same types of data may betransmitted via different links and standards.

The geographical scope of the network may vary widely. Examples includea body area network (BAN), a personal area network (PAN), a local-areanetwork (LAN), a metropolitan area network (MAN), a wide area network(WAN), or the Internet.

A network may have any suitable network topology defining the number anduse of the network connections. The network topology may be of anysuitable form and may include point-to-point, bus, star, ring, mesh, ortree. A network may be an overlay network which is virtual and isconfigured as one or more layers that use or “lay on top of” othernetworks.

A network may utilize different communication protocols or messagingtechniques including layers or stacks of protocols. Examples include theEthernet protocol, the internet protocol suite (TCP/IP), the ATM(Asynchronous Transfer Mode) technique, the SONET (Synchronous OpticalNetworking) protocol, or the SDE1 (Synchronous Digital Elierarchy)protocol. The TCP/IP internet protocol suite may include applicationlayer, transport layer, internet layer (including, e.g., IPv6), or thelink layer.

“Output Device” generally refers to any device or collection of devicesthat is controlled by computer to produce an output. This includes anysystem, apparatus, or equipment receiving signals from a computer tocontrol the device to generate or create some type of output. Examplesof output devices include, but are not limited to, screens or monitorsdisplaying graphical output, any projector a projecting deviceprojecting a two-dimensional or three-dimensional image, any kind ofprinter, plotter, or similar device producing either two-dimensional orthree-dimensional representations of the output fixed in any tangiblemedium (e.g. a laser printer printing on paper, a lathe controlled tomachine a piece of metal, or a three-dimensional printer producing anobject). An output device may also produce intangible output such as,for example, data stored in a database, or electromagnetic energytransmitted through a medium or through free space such as audioproduced by a speaker controlled by the computer, radio signalstransmitted through free space, or pulses of light passing through afiber-optic cable.

“Personal computing device” generally refers to a computing deviceconfigured for use by individual people. Examples include mobile devicessuch as Personal Digital Assistants (PDAs), tablet computers, wearablecomputers installed in items worn on the human body such as in eyeglasses, laptop computers, portable music/video players, computers inautomobiles, or cellular telephones such as smart phones. Personalcomputing devices can be devices that are typically not mobile such asdesk top computers, game consoles, or server computers. Personalcomputing devices may include any suitable input/output devices and maybe configured to access a network such as through a wireless or wiredconnection, and/or via other network hardware.

“Processor” generally refers to one or more electronic componentsconfigured to operate as a single unit configured or programmed toprocess input to generate an output. Alternatively, when of amulti-component form, a processor may have one or more componentslocated remotely relative to the others. One or more components of eachprocessor may be of the electronic variety defining digital circuitry,analog circuitry, or both. In one example, each processor is of aconventional, integrated circuit microprocessor arrangement, such as oneor more PENTIUM, i3, i5 or i7 processors supplied by INTEL Corporationof Santa Clara, Calif., USA. Other examples of commercially availableprocessors include but are not limited to the X8 and Freescale Coldfireprocessors made by Motorola Corporation of Schaumburg, Ill., USA; theARM processor and TEGRA System on a Chip (SoC) processors manufacturedby Nvidia of Santa Clara, Calif., USA; the POWER7 processor manufacturedby International Business Machines of White Plains, N.Y., USA; any ofthe FX, Phenom, Athlon, Sempron, or Opteron processors manufactured byAdvanced Micro Devices of Sunnyvale, Calif., USA; or the Snapdragon SoCprocessors manufactured by Qalcomm of San Diego, Calif., USA.

A processor also includes Application-Specific Integrated Circuit(ASIC). An ASIC is an Integrated Circuit (IC) customized to perform aspecific series of logical operations is controlling a computer toperform specific tasks or functions. An ASIC is an example of aprocessor for a special purpose computer, rather than a processorconfigured for general-purpose use. An application-specific integratedcircuit generally is not reprogrammable to perform other functions andmay be programmed once when it is manufactured.

In another example, a processor may be of the “field programmable” type.Such processors may be programmed multiple times “in the field” toperform various specialized or general functions after they aremanufactured. A field-programmable processor may include aField-Programmable Gate Array (FPGA) in an integrated circuit in theprocessor. FPGA may be programmed to perform a specific series ofinstructions which may be retained in nonvolatile memory cells in theFPGA. The FPGA may be configured by a customer or a designer using ahardware description language (HDL). In FPGA may be reprogrammed usinganother computer to reconfigure the FPGA to implement a new set ofcommands or operating instructions. Such an operation may be executed inany suitable means such as by a firmware upgrade to the processorcircuitry.

Just as the concept of a computer is not limited to a single physicaldevice in a single location, so also the concept of a “processor” is notlimited to a single physical logic circuit or package of circuits butincludes one or more such circuits or circuit packages possiblycontained within or across multiple computers in numerous physicallocations. In a virtual computing environment, an unknown number ofphysical processors may be actively processing data, the unknown numbermay automatically change over time as well.

The concept of a “processor” includes a device configured or programmedto make threshold comparisons, rules comparisons, calculations, orperform logical operations applying a rule to data yielding a logicalresult (e.g. “true” or “false”). Processing activities may occur inmultiple single processors on separate servers, on multiple processorsin a single server with separate processors, or on multiple processorsphysically remote from one another in separate computing devices.

“Rule” generally refers to a conditional statement with at least twooutcomes. A rule may be compared to available data which can yield apositive result (all aspects of the conditional statement of the ruleare satisfied by the data), or a negative result (at least one aspect ofthe conditional statement of the rule is not satisfied by the data). Oneexample of a rule is shown below as pseudo code of an “if/then/else”statement that may be coded in a programming language and executed by aprocessor in a computer:

  if(clouds.areGrey( ) and (clouds.numberOfClouds > 100)) then { prepare for rain; } else {  Prepare for sunshine; }

“Solid Angle” generally refers to the two-dimensional angle inthree-dimensional space that an object subtends at a viewing point. Putanother way, it is a measure of how large the object appears to anobserver looking from the viewing point.

“Sensor” generally refers to a transducer whose purpose is to sense ordetect a property or characteristic of the environment. Sensors may beconstructed to provide an output corresponding to the detected propertyor characteristic, such output may be an electrical or electromagneticsignal, a mechanical adjustment of one part in relation to another, or achanging visual cue such as rising or falling mercury in a thermometer.A sensor's sensitivity indicates how much the sensor's output changeswhen the property being measured changes.

A few non-limiting examples of sensors include: Pressure sensors,ultrasonic sensors, humidity sensors, gas sensors, Passive Infra-Red(PR) motion sensors, acceleration sensors (sometimes referred to as an“accelerometer”), displacement sensors, and/or force measurementsensors. Sensors may be responsive to any property in the environmentsuch as light, motion, temperature, magnetic fields, gravity, humidity,moisture, vibration, pressure, electrical fields, sound, stretch, theconcentration or position of certain molecules (e.g. toxins, nutrients,and bacteria), or the level or presence of metabolic indicators, such asglucose or oxygen.

“Triggering a Rule” generally refers to an outcome that follows when allelements of a conditional statement expressed in a rule are satisfied.In this context, a conditional statement may result in either a positiveresult (all conditions of the rule are satisfied by the data), or anegative result (at least one of the conditions of the rule is notsatisfied by the data) when compared to available data. The conditionsexpressed in the rule are triggered if all conditions are met causingprogram execution to proceed along a different path than if the rule isnot triggered.

“Viewing Area”, “Field of View”, or “Field of Vision” is the extent ofthe observable world that is seen at any given moment. In case ofoptical instruments, cameras, or sensors, it is a solid angle throughwhich a detector is sensitive to electromagnetic radiation that includelight visible to the human eye, and any other form of electromagneticradiation that may be invisible to humans.

What is claimed is:
 1. A method of automatically scoring a dart game,comprising: capturing reference images using multiple cameras positionedaround a dartboard that defines multiple scoring regions, each scoringregion having a corresponding score associated with it, wherein themultiple cameras are controlled by an image acquisition module tocapture the reference images before a dart hits the dartboard, whereinthe reference images are stored in a memory, wherein the multiplecameras are positioned to each capture a field of view that extendsacross the front surface of the dartboard; detecting that a dart hasbeen thrown using a sensor adjacent the dartboard; capturing scoringimages from each of the multiple cameras after a dart has been thrown,wherein the image acquisition module is triggered to capture the scoringimages by the sensor; subtracting the reference images from the scoringimages to determine a field of view location of the dart within eachcameras' field of view using an image manipulation module. triangulatinga position of the dart on the front surface of the dartboard and thecorresponding scoring region the dart using the field of view locationof the dart using a mathematics module; applying one or more scoringrules to determine a score value for the dart based on the scoringregion the dart is in and the one or more scoring rules using themathematics module; updating the score of the dart game using themathematics module based on the one or more scoring rules and the scorevalue; and displaying the updated score on a display device.
 2. Themethod of claim 1, wherein triangulating the position of the dartincludes calculating the position relative to a predetermined referencepoint on the dartboard based on the location of the dart within thescoring images;
 3. The system of claim 1, wherein triangulating theposition of the dart includes calculating the distance from apredetermined reference point on the board to the dart, and an angularoffset of the dart relative to the predetermined reference point.
 4. Themethod of claim 1, wherein calculating a location of the dart in thescoring images includes calculating a center pixel, or row of pixels,corresponding to a tip of the dart, and one or more pixels for at leastone edge of the dart.
 5. The method of claim 1, wherein the field ofview of the multiple cameras is offset forward from the front surface ofthe board by a predetermined offset distance, and wherein calculating alocation of the dart includes calculating a vector passing through acenter of the dart where the dart enters an upper edge of a scoringimage, and another center of the dart where the dart exits a lower edgeof the same scoring image; and calculating where the dart intersects thefront surface of the dartboard based on the predetermined offsetdistance and an angle of the vector relative to the dartboard.
 6. Themethod of claim 1, comprising: saving the scoring images to the memoryafter the score has been updated and before a next dart is thrown; usingthe scoring images as reference images to determine the location of thenext dart.
 7. The method of claim 1, wherein a first camera of themultiple cameras is positioned at a predetermined angle with respect toa second camera of the multiple cameras.
 8. The method of claim 1,wherein a first camera of the multiple cameras is positioned at apredetermined angle of about 90 degrees with respect to a second cameraof the multiple cameras.
 9. The method of claim 1, wherein the dartboardincludes positioning indicia on an edge portion of the dartboardcorresponding to each of the scoring regions, wherein the edge portionis substantially perpendicular to the front surface of the board and iscaptured in calibrating images captured by each of the multiple camerascontrolled by the image acquisition module, and wherein a calibrationmodule uses the calibration images to determine a location of each ofthe multiple cameras relative to the perimeter of the dartboard.
 10. Themethod of claim 1, wherein the dartboard is mounted to a supportstructure, and wherein an indexer is mounted to the support structureand positioned to correspond to one or more indexes defined by thedartboard, wherein the indexer is biased to retain the dartboard in afixed position relative to at least one index.
 11. The method of claim1, comprising: emitting light towards a screen using one or more lightspositioned around the dartboard adjacent to an edge portion of thedartboard, wherein the screen is within the field of view of eachcamera, and wherein the edge portion of the dartboard is substantiallyperpendicular to the front surface of the board and is outside the fieldof view of each of the multiple cameras.
 12. The method of claim 1,comprising: emitting light through a screen using one or more lightsmounted outside the screen, the screen positioned around the dartboardwith the dartboard inside the screen, and the inside of the screen beingwithin the field of view of each of the multiple cameras; wherein aportion of the light passes through the screen and is visible to themultiple cameras.
 13. The method of claim 12, wherein at least one ofthe multiple cameras is configured to detect light that has a wavelengthof less than about 350 nanometers or more than about 800 nanometers. 14.A method of automatically scoring a dart game, comprising: using a firstcamera with a first field of view to capture a first reference image,and a second camera with a second field of view to capture a secondreference image, wherein the first and second cameras are responsive toa controller, wherein the first field of view is different from thesecond, and wherein the first and second fields of view extend across afront surface of a dartboard; capturing a first dart image using thefirst camera, and a second dart image using the second camera when thecontroller determines that a dart has been thrown; subtracting the firstreference image from the first dart image, and the second referenceimage from the second dart image using the controller to determine imagedata indicating a location of the dart in the first and second images.calculating a first angle between the dart and the first camera usingthe controller and the first image data, and a second angle between thedart and the second camera using the controller and the second imagedata; calculating a distance to the dart from a predetermined referencepoint, and an angular offset of the dart relative to the reference pointusing the controller and the first and second angles; triangulating aposition of the dart on the dartboard using the controller based on thereference distance and the angular offset; using the controller todetermine a score value associated with the position of the dart on thedartboard; using the controller to adjust a score for the dart gamebased on the score value; and displaying the updated score on a displaydevice using the controller.
 15. The method of claim 14, comprising:detecting a dart has been thrown at a dartboard using a sensor coupledto the controller, the sensor positioned adjacent the dartboard.
 16. Themethod of claim 14, comprising: calculating a first distance from thefirst camera to the dart using the controller and the first angle;calculating a second distance from the second camera to the dart usingthe controller and the second angle.
 17. The method of claim 14, whereinthe first angle is calculated relative to the predetermined referencepoint, the dart, and the first camera, and wherein the second angle iscalculated relative to the predetermined reference point, the dart, andthe second camera.
 18. The method of claim 14, comprising: emittinglight towards a screen using one or more lights positioned on an edgeportion of the dartboard, wherein said edge portion is outside the firstand second viewing areas, and wherein the screen surrounds thedartboard, and wherein the screen appears behind the dart in the firstand second viewing areas.
 19. The method of claim 14, comprising:emitting light onto a screen using one or more lights positioned on amount, wherein the mount is on a side of the screen opposite of thedartboard, wherein the screen surrounds the dartboard, wherein a portionof the emitted light passes through the screen, and wherein the screenappears behind the dart in the first and second viewing areas.
 20. Themethod of claim 14, comprising: capturing a first and second calibratingimage from the first and second cameras respectively; and calculatingthe position of the first and second cameras relative to the perimeterof the dartboard using the controller and location specific indicia onan edge portion of the dartboard that are visible in the first andsecond calibrating images.
 21. The method of claim 14 comprising:projecting an image onto the dartboard using a projector controlled bythe controller, wherein the scoring regions are represented in the imageas one or more shapes projected onto the surface of the board.
 22. Themethod of claim 14, wherein the scoring regions and the first and secondfields of view are defined in part by metal bands arranged on the frontsurface of the scoreboard.
 23. The method of claim 14, comprising: usingthe controller to determine a board configuration for the dartboard, andone or more scoring rules based on input received from a user via aninput device coupled to the controller; wherein the board configurationand scoring rules are selected from a database of games stored in amemory in the controller.
 24. The method of claim 14, wherein a row ofpixels in the first or second image data represents a plane that issubstantially parallel to the front surface of the dartboard.